package principal;

import InterfazGrafica.Principal;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import javax.swing.JFileChooser;
import tsb.sax.*;

/**
 *
 * @author David
 */
public class Lanzador {
    private Principal principal = null;

    public Lanzador(Principal pPrincipal) {
        principal = pPrincipal;
    }

    public void ejecutar(boolean pboEsSAX) throws IOException {
        principal.cargarRaiz(f.getName().toString());

        if( f != null && ( f.exists() ) ){

            if (pboEsSAX) {
                analizarArchivoSAX ( f );
            }
            else{
                analizarArchivoDOM ( f );
            }
        }
    }

    private void analizarArchivoDOM (File f) throws IOException {

        System.out.println("----------------------------------------------");
        System.out.println("Analizando archivo: " + f.getName() + " - DOM");
        System.out.println("----------------------------------------------");

        SAXParser parser = new SAXParser(principal);
        ManejadorDOM ch = new ManejadorDOM();
        ErrorHandler eh = new ErrorHandler();
        parser.setXmlFile(f);
        parser.setContentHandler(ch);
        parser.setErrorHandler(eh);
        parser.doParse();

        System.out.println(ch.getDocumento().toString());
    }

    private void analizarArchivoSAX (File f) throws IOException {
        System.out.println("----------------------------------------------");
        System.out.println("Analizando archivo: " + f.getName() + " - SAX");
        System.out.println("----------------------------------------------");

        SAXParser parser = new SAXParser(principal);
        ManejadorSAX ch = new ManejadorSAX();
        ErrorHandler eh = new ErrorHandler();
        parser.setXmlFile(f);
        parser.setContentHandler(ch);
        parser.setErrorHandler(eh);
        parser.doParse();
        }
}
